package com.wuseguang.springcloud.service;

import com.wuseguang.springcloud.entity.ClassesList;

import java.util.Map;

public interface OrganizationalStructureService {

    /**
     * @描述 查询组织架构图
     * @创建人 zm
     * @创建时间 2019/12/7
     */
    Map<String, Object> queryOrganizationalStructure(String schoolId);

    /**
     * @描述 左边组织架构图展示区
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    Map<String, Object> queryOrganizationalStructure1(String schoolId);


    /**
     * @描述 批量生成部门年级和班级
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int batchAddition(String schoolId, String education_id);

    /**
     * @描述 添加部门
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int addDepartment(String schoolId, String departmentname);

    /**
     * @描述 删除部门
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int delDepartment(String id);

    /**
     * @描述 修改部门
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int updateDepartment(String departmentname, String id);

    /**
     * @描述 添加年级
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int addGrade(String schoolId, String education_id);

    /**
     * @描述 删除年级
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int delGrade(String id);

    /**
     * @描述 修改其他 的名称
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int updateGrade(String name, String id);

    /**
     * @描述 修改班级信息
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int updateClass(String name, String id);

    /**
     * @描述 删除班级
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int delClass(String id);

    /**
     * @描述 添加班级
     * @创建人 zm
     * @创建时间 2019/12/8
     */
    int addClass(String schoolId, String second_name, String grade_id);

    /**
     * @描述 根据年级id获取班级
     * @创建人 zm
     * @创建时间 2019/12/11
     */
    int queryClass(String grade_id);

    /**
     * @描述 查询班级下面的教师或学生数量
     * @创建人 zm
     * @创建时间 2019/12/11
     */
    int queryClassCount(String classid);

    /**
     * @描述 查询是否有班级或年级
     * @创建人 zm
     * @创建时间 2019/12/12
     */
    int queryGradeorClassCount(String schoolId);

    /**
     * @描述 批量修改班级名称
     * @创建人 zm
     * @创建时间 2019/12/12
     */
    int batchUpDateClass(ClassesList classesList);
}
